﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BGCOP.CAVTOP.BUSINESSLAYER;

namespace BGCOP.CAVTOP.WINFORMS
{
    public partial class frmParqueos : Form
    {
        public frmParqueos()
        {
            InitializeComponent();
        }

        private void frmParqueos_Load(object sender, EventArgs e)
        {
            llenaLista();
        }

        public void llenaLista()
        {
            Parqueaderos tmp = new Parqueaderos();
            listBox1.DataSource = tmp.ListarTodos();
            listBox1.DisplayMember = "nParqueo";
            listBox1.ValueMember = "idParqueadero";
        }

        private void btnAgregar_Click(object sender, EventArgs e)
        {
            //for (var i = 1; i <= 176; i++)
            //{
            //    Parqueaderos tmp = new Parqueaderos();
            //    tmp.Agregar("Parqueadero # [" + i.ToString("0##") + "]", DateTime.Now,
            //                (int) BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual);
            //}
            //MessageBox.Show("Listo!");
            txtParqueo.Focus();
            txtObservaciones.Text = "";
            listBox1.SelectedIndex = -1;
            txtParqueo.Text = "";
        }

        private void btnModificar_Click(object sender, EventArgs e)
        {
            TParqueo tmp = new TParqueo();
            tmp.nParqueo = txtParqueo.Text;
            tmp.observacionesParqueo = txtObservaciones.Text;
            tmp.fechaUltimaGestion = DateTime.Now;
            tmp.usuarioUltimaGestion = (int?)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual;

            if (listBox1.SelectedIndex == -1)
            {
                //es un nuevo registro

                Parqueaderos mm = new Parqueaderos();
                mm.Agregar("Parqueadero # [" + txtParqueo.Text + "]", DateTime.Now, (int)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual);
                MessageBox.Show("El registro se agrego con exito!", Properties.Settings.Default.Titulo
                    , MessageBoxButtons.OK);
                llenaLista();
            }
            else
            {
                //es un registro existente

                Parqueaderos mm = new Parqueaderos();
                mm.Modificar(Convert.ToInt32(listBox1.SelectedValue), txtParqueo.Text , DateTime.Now, (int)BGCOP.CAVTOP.WINFORMS.Program.idUsuarioActual);
                MessageBox.Show("El registro se modificó con exito!", Properties.Settings.Default.Titulo
                   , MessageBoxButtons.OK);
                llenaLista();

            }
        }

        private void btnEliminar_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex >= 0)
            {
                Parqueaderos tmp = new Parqueaderos();
                if (MessageBox.Show("Desea eliminar el registro seleccionado?", Properties.Settings.Default.Titulo,
                MessageBoxButtons.YesNoCancel) == DialogResult.Yes)
                {
                    tmp.Eliminar(Convert.ToInt32(listBox1.SelectedValue));
                    MessageBox.Show("El registro se elimino con exito!", Properties.Settings.Default.Titulo
                        , MessageBoxButtons.OK);
                    llenaLista();
                }

            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndex == -1)
            {
                return;
            }
            TParqueo tmp = (TParqueo)listBox1.SelectedItem;
            txtParqueo.Text = tmp.nParqueo;
            txtObservaciones.Text = tmp.observacionesParqueo;
        }
    }
}
